package com.hissy.common.design.structure.component;

import com.hissy.common.design.structure.component.PayDemo.MarketBranch;
import com.hissy.common.design.structure.component.PayDemo.MarketJoin;

/**
 * Created by zhangyanfei on 2019/4/10.
 *
 * @author zhangyanfei
 * @date 2019/04/10
 */
public class DemoMain {
    /**
     * 引用大话设计模式的片段：“当发现需求中是体现部分与整体层次结构时，
     * 以及你希望用户可以忽略组合对象与单个对象的不同，
     * 统一地使用组合结构中的所有对象时，就应该考虑组合模式了。”
     * @param args
     */
    public static void main(String[] args) {
        PayDemo payDemo = new PayDemo();

        MarketBranch root = payDemo.new MarketBranch("总店");

        MarketBranch qhdBranch = payDemo.new MarketBranch("秦皇岛分店");
        MarketJoin hgqJoin = payDemo.new MarketJoin("秦皇岛分店一海港区加盟店");
        MarketJoin btlJoin = payDemo.new MarketJoin("秦皇岛分店二白塔岭加盟店");

        qhdBranch.add(hgqJoin);
        qhdBranch.add(btlJoin);

        root.add(qhdBranch);

        root.payByCard();

    }
}
